﻿using EmbeddedSharp.Scripting;
using Zove.Runtime;
using Zove.Runtime.Core;

namespace Zove.Scripting.Core {
    /// <summary>
    /// ZoveScript context
    /// </summary>
    public interface IZoveScriptingContext : IContext {

        /// <summary>
        /// Get factor by name
        /// </summary>
        /// <param name="factorName">the factor name</param>
        /// <returns>the factor</returns>
        RuntimeFactor GetFactor(string factorName);

        /// <summary>
        /// Get instance by name
        /// </summary>
        /// <param name="instanceName">the instance name</param>
        /// <returns>the instance</returns>
        ZoveObject GetInstance(string instanceName);
    }
}
